A visual medical scan such as computed tomography (CT) or magnetic resonance imaging (MRI) is acquired thru cross sections (FIG. 1A), for example CT scan has an axial cross sections acquisition. Sagittal 10, Coronal 12 and Oblique 14 sections and 3D visualizations may be generated automatically and on demand. However, the automatic 3D image may have the rib cage blocking the heart from being visible (FIG. 1B). A segmentation task would involve removing the bone from this view. According to standard practice, segmentations are prepared by scanner technologist and saved as snapshots for radiologists to view and use for diagnosis (FIG. 1D). For instance, these series of images may include images of coronal maximum intensity projection (MIP) multiplanar reconstruction (MPR) 20, oblique sagittal carotid bifurcation MIP MPR 21, coronal/sagittal arch MIP MPR 22, volume rendered 23, MIP 24 and curved reformats vertebral and through carotid siphons 25.
Research and development of medical image segmentation has illustrated computer vision solutions using digital image processing techniques. The current techniques emanate from having to improve scan technicians' ability from having to sketch the contours slice by slice using pointing devices such as a mouse or trackball, which they note that this is a very time-consuming and the results may suffer from intra-observer or inter-observer variability. Researchers have been focused on developing algorithms to improve computer aided segmentation conducted by technicians, by incorporating modern mathematical and physical techniques on image appearance as well as information from imaging devices and physician's professional knowledge, to greatly enhance the accuracy of segmentation results. The techniques can be categorized as thresholds, clustering, and deformable model based. These segmentation techniques are both computer and human intensive that a lab technician is given the responsibility to pre-segment a scan. This may exclude subtle but crucial information needed for an early diagnosis of a disease. Also, due to the time and cost aspects, segmentation has become an exception rather than an intrinsic part of a diagnosis workflow. Moreover, medical scan size is becoming larger and therefore diagnostic interpretation is becoming harder, and the need for segmentation is becoming more critical. Segmentation becomes an intrinsic part of diagnosis workflow in the method and system of the present invention.
A genetic algorithm (GA) is a search heuristic that mimics the process of natural evolution. This heuristic is routinely used to generate useful solutions to optimization and search problems. Genetic algorithms belong to the larger class of evolutionary algorithms (EA), which generate solutions to optimization problems using techniques inspired by natural evolution, such as inheritance, mutation, selection, and crossover.
In a genetic algorithm, a population of strings (called chromosomes or the genotype of the genome, and also referred to as a “gene”), which encode candidate solutions (called individuals, creatures, or phenotypes) to an optimization problem, evolves toward better solutions. Traditionally, solutions are represented in binary as strings of 0s and 1s, but other encodings are also possible. The evolution usually starts from a population of randomly generated individuals and happens in generations. In each generation, the fitness of every individual in the population is evaluated, multiple individuals are stochastically selected from the current population (based on their fitness), and modified (recombined and possibly randomly mutated) to form a new population. The new population is then used in the next iteration of the algorithm. Commonly, the algorithm terminates when either a maximum number of generations has been produced, or a satisfactory fitness level has been reached for the population. If the algorithm has terminated due to a maximum number of generations, a satisfactory solution may or may not have been reached.
A typical genetic algorithm requires a genetic representation of the solution domain and a fitness function to evaluate the solution domain. A standard representation of the solution is as an array of bits. Arrays of other types and structures can be used in essentially the same way. The main property that makes these genetic representations convenient is that their parts are easily aligned due to their fixed size, which facilitates simple crossover operations. Variable length representations may also be used, but crossover implementation is more complex in this case. Tree-like representations are explored in genetic programming and graph-form representations are explored in evolutionary programming.
The fitness function is defined over the genetic representation and measures the quality of the represented solution. The fitness function is always problem dependent. For instance, in the knapsack problem one wants to maximize the total value of objects that can be put in a knapsack of some fixed capacity. A representation of a solution might be an array of bits, where each bit represents a different object, and the value of the bit (0 or 1) represents whether or not the object is in the knapsack. Not every such representation is valid, as the size of objects may exceed the capacity of the knapsack. The fitness of the solution is the sum of values of all objects in the knapsack if the representation is valid, or 0 otherwise. If it is difficult to define the fitness expression, then interactive genetic algorithms may be used.
Once the genetic representation and the fitness function are defined, GA proceeds to initialize a population of solutions randomly, then improve it through repetitive application of mutation, crossover, inversion and selection operators. Initially many individual solutions are randomly generated to form an initial population. The population size depends on the nature of the problem, but typically contains several hundreds or thousands of possible solutions. Traditionally, the population is generated randomly, covering the entire range of possible solutions (the search space). Occasionally, the solutions may be “seeded” in areas where optimal solutions are likely to be found.
During each successive generation, a proportion of the existing population is selected to breed a new generation. Individual solutions are selected through a fitness-based process, where fitter solutions (as measured by a fitness function) are typically more likely to be selected. Certain selection methods rate the fitness of each solution and preferentially select the best solutions. Other methods rate only a random sample of the population, as this process may be very time-consuming.
The next step is to generate a second generation population of solutions from those selected through genetic operators: crossover (also called recombination), and/or mutation. For each new solution to be produced, a pair of “parent” solutions is selected for breeding from the pool selected previously. By producing a “child” solution using the above methods of crossover and mutation, a new solution is created which typically shares many of the characteristics of its “parents.” New parents are selected for each new child, and the process continues until a new population of solutions of appropriate size is generated. Although reproduction methods that are based on the use of two parents are more “biology inspired,” some research suggests more than two “parents” are better to be used to reproduce a good quality chromosome.
These processes ultimately result in the next generation population of chromosomes that is different from the initial generation. Generally the average fitness will have increased by this procedure for the population, since only the best organisms from the first generation are selected for breeding, along with a small proportion of less fit solutions, for reasons already mentioned above. Although Crossover and Mutation are known as the main genetic operators, it is possible to use other operators such as regrouping, colonization-extinction, or migration in genetic algorithms
This generational process is repeated until a termination condition has been reached. Common terminating conditions are: 1) a solution is found that satisfies minimum criteria; 2) fixed number of generations reached; 3) allocated budget (computation time/money) reached; 4) the highest ranking solution's fitness is reaching or has reached a plateau such that successive iterations no longer produce better results; 5) manual inspection; and/or 6) combinations of the above.
The simple generational genetic algorithm procedure involves the following steps: 1) choose the initial population of individuals; 2) evaluate the fitness of each individual in that population; 3) repeat on this generation until termination (time limit, sufficient fitness achieved, etc.) as follows: a) select the best-fit individuals for reproduction; b) breed new individuals through crossover and mutation operations to give birth to offspring; c) evaluate the individual fitness of new individuals; d) replace least-fit population with new individuals.
A neural network (NN) is a mathematical model or computational model that is inspired by the structure and/or functional aspects of biological neural networks. A neural network consists of an interconnected group of artificial neurons, and it processes information using a connectionist approach to computation. In most cases an NN is an adaptive system that changes its structure based on external or internal information that flows through the network during the learning phase. Modern neural networks are non-linear statistical data modeling tools. For NN to be useful in providing solution to a difficult problem, the network has to be first trained using exemplarily data from the domain of the problem. NN are usually used to model complex relationships between inputs and outputs or to find patterns in data.
Convolution NN is a type of NN and is well suited for image recognition tasks such as for fingerprint identification or facial recognition.